home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00036_Script_PDF_GetPageNumber < prev    next >
Text File  |  2006-07-11  |  3KB  |  95 lines

  1. -- Get Page Number
  2.  
  3. Property pEvent, pSprite, pDestMember, pAlertFlag
  4.  
  5. on doGetPageNbr me
  6.   set the text of member pDestMember to string(PDF_GetPageNumber(sprite pSprite))
  7.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  8. end doGetPageNbr
  9.  
  10. on mouseUp me
  11.   if (pEvent = #mouseUp) then doGetPageNbr(me)
  12. end mouseUp
  13.  
  14. on mouseDown me
  15.   if (pEvent = #mouseDown) then doGetPageNbr(me)
  16. end mouseDown
  17.  
  18. -- standard behavior stuff --
  19. on getPropertyDescriptionList me
  20.   set defaultValues = GetDefaultValues (me)
  21.   
  22.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  23.   set defSprite     = getProp (defaultValues, #defaultSprite)
  24.   if (defSprite=0) then 
  25.     if the ticks - pAlertFlag > 10 then
  26.       alert "Please create a sprite of type PDF first."
  27.     end if
  28.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  29.     
  30.     exit
  31.   end if
  32.   set defFieldMember = FindFirstMember(#field)
  33.   if (string(defFieldMember) contains "member 0") then 
  34.     alert "You need at least one member of type #field to use this behavior."
  35.     exit
  36.   end if
  37.   set p_list = [#pEvent: [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown], #default:#mouseUp], #pSprite: [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite], #pDestMember: [ #comment: "Put result in:", #format: #member, #default:defFieldMember]]
  38.   return p_list
  39. end
  40.  
  41. on getBehaviorDescription
  42.   return "Retrieve the current page number of PDF document to the designated Director field" &RETURN& "Free to use and abuse. (c)1999, Integration New Media, Inc."  &RETURN& "Thanks to James Newton for his suggestions"
  43. end
  44.  
  45. -- utils --
  46. on GetDefaultValues me
  47.   if the currentSpriteNum then
  48.     set spriteList = GetSpriteList (me #PDF)
  49.     if count (spriteList) then
  50.       set defaultSprite = getAt (spriteList, 1)
  51.     else
  52.       set defaultSprite = 0
  53.     end if
  54.     
  55.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  56.     
  57.   else -- the currentSpriteNum = 0
  58.     -- Director is merely recompiling this script: return dummy values
  59.     return [#spriteList: [1], #defaultSprite: 1]
  60.   end if
  61. end 
  62.  
  63.  
  64. on GetSpriteList me, memberType
  65.   -- return list of sprites of type memberType in current frame
  66.   global version
  67.   if (char 1 of version = 6) then
  68.     set maxSprite = 120
  69.   else
  70.     set maxSprite = the lastChannel
  71.   end if
  72.   
  73.   set aList=[]
  74.   
  75.   repeat with i = 1 to maxSprite
  76.     set spriteMember = the member of sprite i
  77.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  78.     if (the type of spriteMember = memberType) then -- (JN) Line break
  79.       append (aList, i)
  80.     end if
  81.   end repeat
  82.   
  83.   return aList
  84. end GetSpriteList
  85.  
  86. on FindFirstMember t
  87.   -- Find first member of type t
  88.   repeat with c = 1 to the number of castLibs
  89.     repeat with i = 1 to the number of members of castLib c
  90.       set m = member i of castLib c
  91.       if (the type of m = t) then return m
  92.     end repeat
  93.   end repeat
  94.   return 0
  95. end FindFirstMember